package com.wcgksoft.common.util.Datacollection;


/**
 * 温湿度变送器
 * @author Dell
 *
 */
public class UtilTemperature {

	public static String hex;
	
	public static void setHex(String thex) {
		hex=thex;
	}
	
	public static String getString(int start,int end) {
		String hi=hex.replace(" ", "");
		String se=hi.substring(start*2-2, end*2);
		System.out.print(se);
		return se;
	}
	
	/**
	 * 温度 
	 * 10-13 
	 * 01 81 FF 68 
	 * 01 代表温度；81 代表 有符号，一位小数； FF68 为温度值，转化 成十进制-152； 温度：-15.2℃（4 字 节） 
	 * @param thex
	 */
	public static double getTemperature(int start,int end) {
		String hi=hex.replace(" ", "");
		String se=hi.substring(start*2-2, end*2);
		System.out.print(se);
		double humidity= ConvertHex.hexToDecimal(se);
		return humidity/10;
	}
	
	public static double getTemperature2(int start,int end) {
		String hi=hex.replace(" ", "");
		String se=hi.substring(start*2-2, end*2);
		//System.out.print(se);
		double humidity=Long.parseLong(se,16);
		return humidity/10;
	}
	public static double getTemperature3(int start,int end) {
		String hi=hex.replace(" ", "");
		String se=hi.substring(start*2-2, end*2);
		//System.out.print(se);
		double humidity=Long.parseLong(se,16);
		return humidity;
	}
	
	public static int getHex(int start,int end) {
		String hi=hex.replace(" ", "");
		String se=hi.substring(start*2, end*2);
		System.out.print(se);
		int humidity=(int) Long.parseLong(se,16);
		return humidity;
	}
	/**
	 * PLC专用
	 * @param start
	 * @param end
	 * @return
	 */
	public static Integer getPlc(int start,int end) {
		String hi=hex.replace(" ", "");
		if (hi.length()< end*2){
			return -1;
		}
		String se=hi.substring(start*2-2, end*2);
		System.out.print(se);
		Integer humidity=(int)Long.parseLong(se,16);
		return humidity;
	}
	
	
	
	/**
	 * 湿度
	 * 14-17 
	 * 02 01 00 FD 
	 * 02 代表湿度；01 代表无符 号，一位小数；00FD 为湿 度值，转化成十进制是 253； 湿度：25.3%RH(4 字节)
	 * @param thex
	 */
	public static double getHumidity(int start,int end) {
		String hi=hex.replace(" ", "");
		String se=hi.substring(start*2-2, end*2);
		System.out.print(se);
		double humidity=Long.parseLong(se,16);
		return humidity/10;
	}
	
	
}
